SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[parEnfermedadesPorGrupoDiscriminadasyAnio]

 @Año INT,
 @Grupo INT 


AS
SET NOCOUNT ON
SET DATEFORMAT DMY
IF @Grupo IS NULL OR @Grupo = 0

	SELECT  YEAR(SSA.FechaAlta) Año, MONTH(SSA.FechaAlta) Mes, RTRIM(GEnf.descripcion) Grupo,  RTRIM(Enf.Descripcion)+' - '+RTRIM(Enf.CodigoAlfanumerico)   Enfermedad, COUNT(SSA.Licencia) Total
		   FROM Tb_SubserviciosAgentes SSA
		    INNER JOIN tb_Licencias Lic ON Lic.idLicencia = SSA.Licencia 
		    LEFT OUTER JOIN tb_Enfermedades Enf ON Enf.idEnfermedad = SSA.CodEnfermedad 
		    LEFT OUTER JOIN tb_GruposDeEnfermedades GEnf ON GEnf.idGrupo = Enf.Grupo 
			WHERE  SSA.Licencia IS NOT NULL
			   AND Lic.RequiereRegEnfermedad = 'S' 
			   AND YEAR(SSA.FechaAlta) = @Año
			GROUP BY YEAR(SSA.FechaAlta), MONTH(SSA.FechaAlta), RTRIM(GEnf.descripcion), RTRIM(Enf.Descripcion)+' - '+RTRIM(Enf.CodigoAlfanumerico)
			ORDER BY YEAR(SSA.FechaAlta), MONTH(SSA.FechaAlta), RTRIM(GEnf.descripcion), RTRIM(Enf.Descripcion)+' - '+RTRIM(Enf.CodigoAlfanumerico)

ELSE 
     	
	SELECT  YEAR(SSA.FechaAlta) Año, MONTH(SSA.FechaAlta) Mes, RTRIM(GEnf.descripcion) Grupo,  RTRIM(Enf.Descripcion)+' - '+RTRIM(Enf.CodigoAlfanumerico)   Enfermedad, COUNT(SSA.Licencia) Total
		   FROM Tb_SubserviciosAgentes SSA
		    INNER JOIN tb_Licencias Lic ON Lic.idLicencia = SSA.Licencia 
		    LEFT OUTER JOIN tb_Enfermedades Enf ON Enf.idEnfermedad = SSA.CodEnfermedad 
		    LEFT OUTER JOIN tb_GruposDeEnfermedades GEnf ON GEnf.idGrupo = Enf.Grupo 
			WHERE  SSA.Licencia IS NOT NULL
			   AND Lic.RequiereRegEnfermedad = 'S' 
			   AND YEAR(SSA.FechaAlta) = @Año
			   AND Enf.Grupo = @Grupo		          
			GROUP BY YEAR(SSA.FechaAlta), MONTH(SSA.FechaAlta), RTRIM(GEnf.descripcion), RTRIM(Enf.Descripcion)+' - '+RTRIM(Enf.CodigoAlfanumerico)
			ORDER BY YEAR(SSA.FechaAlta), MONTH(SSA.FechaAlta), RTRIM(GEnf.descripcion), RTRIM(Enf.Descripcion)+' - '+RTRIM(Enf.CodigoAlfanumerico)
GO
